The inventive concept relates to a flash memory system, and more particularly, to cache synchronization performed on a flash memory device-based storage medium, where fast power-off is achieved.
A flash memory device is a highly integrated non-volatile memory device. Because flash memory devices have excellent data retention, flash memory devices can be used as the main memory type in memory systems. Also, because flash memory devices are highly integrated, large storage capacity devices, they are replacing conventional hard disk drives (HDD) and conventional floppy disk drives. For example, flash memory devices are currently used as storage media in mobile phones, digital cameras, MPEG-1 Audio Layer 3 (MP3) players, solid-state drives (SSDs), etc.
A flash memory device-based storage medium is an external recording device of a host computer. However, flash memory devices have low data input/output speeds since they take a relatively long time to fetch data stored in a memory cell array to a page buffer, and to write data temporarily stored in the page buffer to the memory cell array.
Flash memory devices are formed of multiple blocks, e.g., 1024 blocks, 2048 blocks, etc. Each block is fanned of multiple sectors, e.g., 16 sectors, 32 sectors, 64 sectors, etc. With respect to flash memory devices, data erase operations are performed in units of blocks, and write and read operations are performed in units of pages. In flash memory devices, erase operations have to precede write operations. That is, flash memory devices manage data a block at a time, so that performance of write operations fluctuates.
Meanwhile, data write and read processing speeds in a storage medium are lower than the data transmission processing speed between the storage medium and the host computer. Thus, a cache memory is arranged between the storage medium and the host computer, and data transmission is performed using the cache memory so that the data write processing speed and/or the data read processing speed can be increased. The cache memory can be operated by sequential access, where data addresses exchanged with the host computer are accessed sequentially, or by random access, where the data addresses are accessed randomly. The cache memory may be a volatile memory device, such as dynamic random access memory (DRAM) or static random access memory (SRAM), or a non-volatile memory device, such as a flash memory device.
In a system including the storage medium and the cache memory, when an event such as a power-off from a higher application occurs, a cache synchronization operation is required to re-store data stored in the cache memory into the storage medium. When a non-volatile memory device is used as the cache memory, the cache synchronization operation is not necessary. However, when a volatile memory device is used as the cache memory, the cache synchronization operation needs to be performed with the flash memory device that is the storage medium.
In terms of data processing, a file refers to a collection of related records, and a file system refers to a system of naming files and indicating file locations, such that the files are logically ordered to accommodate file location for storage and retrieval. A file system using a flash memory device includes functions for managing the files, storing the files in the flash memory device, and reading the files from the flash memory device.
However, a cache synchronization operation performed by a file system may induce random write operations of the flash memory device. In random write operations, areas to be occupied by the files in the flash memory device are randomly distributed, such that the size of a memory area required for the cache synchronization operation may not be sufficiently large. Also, in order to minimize the number of random write operations into the flash memory device, when data stored in the cache memory are grouped according to physical addresses and when data in a large group are first stored in the flash memory device, synchronization time is reduced compared to that of a Least Recently Used (LRU)-based cache synchronization technique. However, the effect thereof is limited.
Therefore, a cache synchronization method for a fast power-off is required to be performed on the flash memory device.